home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Multimedia Viewer How-To CD / Microsoft Multimedia Viewer How-To CD.iso / ptksetup.mst < prev    next >
Text File  |  1993-03-21  |  43KB  |  1,044 lines

  1. '**************************************************************************
  2. '* Demonstration Multimedia Viewer Publishing Toolkit Setup Script
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ' Dialog ID's
  11. CONST WELCOME           = 1000
  12. CONST DESTPATH          = 2000
  13. CONST BADPATH           = 3000
  14. CONST APPHELP           = 4000
  15. CONST CUSTINST          = 5000
  16. CONST TOOBIG            = 6000
  17. CONST ASKCONFIG         = 7000
  18. CONST ASKQUIT           = 8000
  19. CONST EXITQUIT          = 9000
  20. CONST EXITSUCCESS       = 10000
  21. CONST EXITFAILURE       = 11000
  22. CONST EXITSUCCESSREBOOT = 12000
  23. CONST SELECTLANG        = 13000
  24. CONST ASKAUTOEXEC       = 14000
  25. CONST PLEASEWAIT        = 15000
  26.  
  27. ' Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. ' Dialog variables
  31. GLOBAL CHECKSTATES$
  32. GLOBAL STATUSTEXT$
  33. GLOBAL DRIVETEXT$
  34. GLOBAL DEFLANG$
  35. GLOBAL INSTALL$
  36. GLOBAL OPTSONY$
  37. GLOBAL MUSTREBOOT
  38.  
  39. ' Dialog options
  40. GLOBAL RUNTIME
  41. GLOBAL AUTHOR
  42. GLOBAL SONY
  43. GLOBAL HELP
  44. GLOBAL LOCALIZE
  45. GLOBAL PROGSAMPLE
  46. GLOBAL WINSAMPLE
  47. GLOBAL SONYSAMPLE
  48.  
  49. ' Copy options
  50. GLOBAL ROOTFILES
  51. GLOBAL USARUNTIMEFILES
  52. GLOBAL GERRUNTIMEFILES
  53. GLOBAL FRNRUNTIMEFILES
  54. GLOBAL LOCALRUNTIMEFILES
  55. GLOBAL AUTHORFILES
  56. GLOBAL SONYFILES
  57. GLOBAL USAHELPFILES
  58. GLOBAL GERHELPFILES
  59. GLOBAL FRNHELPFILES
  60. GLOBAL PROGSAMPLEFILES
  61. GLOBAL PROGSAMPLEFILESUSA
  62. GLOBAL PROGSAMPLEFILESFRN
  63. GLOBAL PROGSAMPLEFILESGER
  64. GLOBAL WINSAMPLEFILES
  65. GLOBAL SONYSAMPLEFILES
  66.  
  67. ' Directories
  68. GLOBAL WINDIR$
  69. GLOBAL SYSDIR$
  70. GLOBAL BASE$
  71. GLOBAL SRCDIR$
  72. GLOBAL PTKDRIVE$
  73. GLOBAL SYSDRIVE$
  74. GLOBAL GRPHFLTDIR$
  75.  
  76. ' Size variables
  77. GLOBAL PTKFREE&
  78. GLOBAL SYSFREE&
  79. GLOBAL PTKCOST$
  80. GLOBAL SYSCOST$
  81. GLOBAL WILLFIT
  82.  
  83. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  84. DECLARE FUNCTION Max (a&, b&) AS LONG
  85. DECLARE SUB AddFiles(option%, makedir%)
  86. DECLARE SUB UpdateFileSizes
  87. DECLARE SUB UpdateTotalSizes
  88. DECLARE SUB FindFileSizes
  89. DECLARE SUB FindDiskSizes
  90. DECLARE SUB CopyFiles
  91.  
  92. DECLARE SUB CopyNewFile LIB "ptksetup.dll" (szFile$, szDriverName$, szDriverDir$)
  93. DECLARE SUB CopyNewExecFile LIB "ptksetup.dll" (szFile$)
  94. DECLARE FUNCTION VSharePresent LIB "ptksetup.dll" AS INTEGER
  95. DECLARE SUB Reboot LIB "ptksetup.dll"
  96.  
  97. INIT:
  98.     CUIDLL$ = "ptksetup.dll"
  99.     HELPPROC$ = "FHelpDlgProc"
  100.     SetBitmap CUIDLL$, LOGO
  101.  
  102.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  103.     IF szInf$ = "" THEN
  104.         szInf$ = GetSymbolValue("STF_CWDDIR") + "PTKSETUP.INF"
  105.     ENDIF
  106.     ReadInfFile szInf$
  107.  
  108.     ' Get some known dirs
  109.     WINDIR$ = GetWindowsDir()
  110.     SYSDIR$ = GetWindowsSysDir()
  111.     SRCDIR$ = GetSymbolValue("STF_SRCDIR")
  112.     GRPHFLTDIR$ = MakePath(WINDIR$, "MSAPPS\GRPHFLT")
  113.  
  114.     ' Copy options
  115.     ROOTFILES = 1
  116.     USARUNTIMEFILES = 2
  117.     GERRUNTIMEFILES = 3
  118.     FRNRUNTIMEFILES = 4
  119.     LOCALRUNTIMEFILES = 5
  120.     AUTHORFILES = 6
  121.     SONYFILES = 7
  122.     USAHELPFILES = 8
  123.     GERHELPFILES = 9
  124.     FRNHELPFILES = 10
  125.     PROGSAMPLEFILES = 11
  126.     PROGSAMPLEFILESUSA = 12
  127.     PROGSAMPLEFILESFRN = 13
  128.     PROGSAMPLEFILESGER = 14
  129.     WINSAMPLEFILES = 15
  130.     SONYSAMPLEFILES = 16
  131.  
  132.     ' Dialog options
  133.     RUNTIME = 1
  134.     AUTHOR = 2
  135.     SONY = 3
  136.     HELP = 4
  137.     PROGSAMPLE = 5
  138.     LOCALIZE = 6
  139.     WINSAMPLE = 7
  140.     SONYSAMPLE = 8
  141.  
  142.     ' Dialog defaults
  143.     CHECKSTATES$ = "CheckItemsState"
  144.     FOR i% = 1 TO 8 STEP 1
  145.     AddListItem CHECKSTATES$, "OFF"
  146.     NEXT i%
  147.     ReplaceListItem CHECKSTATES$, 1, "ON"
  148.     ReplaceListItem CHECKSTATES$, 2, "ON"
  149.     DEFLANG$ = "1"              ' Select Languages dialog first group
  150.     INSTALL$ = "1"              ' Select Languages dialog second group
  151.     OPTSONY$ = "1"              ' Modify CONFIG.SYS (for sony)
  152.     OPTAUTOEXEC$ = "1"  ' Modify AUTOEXEC.BAT
  153.  
  154.     ' Other initialization
  155.     STATUSTEXT$  = "StatusItemsText"
  156.     DRIVETEXT$   = "DriveStatusText"
  157.     SYSCOST$ = "SystemCost"
  158.     PTKCOST$ = "PTKCost"
  159.     FOR i% = 1 TO 8 STEP 1
  160.     AddListItem STATUSTEXT$, ""
  161.     NEXT i%
  162.     FOR i% = 1 TO 6 STEP 1
  163.     AddListItem DRIVETEXT$, ""
  164.     NEXT i%
  165.     FOR i% = ROOTFILES TO SONYSAMPLEFILES STEP 1
  166.     AddListItem SYSCOST$, ""
  167.     AddListItem PTKCOST$, ""
  168.     NEXT i%
  169.     MUSTREBOOT = 0
  170.  
  171. '$IFDEF DEBUG
  172.     i% = SetSizeCheckMode(scmOff)    '' could use scmOff; def = scmOnFatal
  173.     WinDrive$ = MID$(WINDIR$, 1, 1)
  174.     IF IsDriveValid(WinDrive$) = 0 THEN
  175.     i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  176.     GOTO QUIT
  177.     ENDIF
  178. '$ENDIF ''DEBUG
  179.  
  180. CHECKVERSION:
  181.  
  182.     IF GetWindowsMajorVersion() < 3 OR (GetWindowsMajorVersion() = 3 AND GetWindowsMinorVersion() < 1) THEN
  183.     ret% = DoMsgBox("You must install Microsoft Windows 3.1 or later before installing the Multimedia Viewer Publishing Toolkit.", "Setup Message", 0)
  184.     ERROR STFERR
  185.     GOTO QUIT
  186.     ENDIF
  187.  
  188. WELCOME:
  189.  
  190.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  191.     IF sz$ = "CONTINUE" THEN
  192.     UIPop 1
  193.     ELSE
  194.     GOSUB ASKQUIT
  195.     GOTO WELCOME
  196.     ENDIF
  197.  
  198. GETDEFAULTPATH:
  199.  
  200.     IF DoesFileExist("C:\MVPUBKIT\MVTOOLS\WMVC.EXE", femRead) THEN
  201.     BASE$ = "C:\MVPUBKIT"
  202.     ELSE
  203.     ' We will look for the compiler on all local hard drives
  204.     CursorSave% = ShowWaitCursor()
  205.     HDLIST$ = "HardDriveList"
  206.     GetLocalHardDrivesList HDLIST$
  207.     FOR i% = 1 TO GetListLength(HDLIST$) STEP 1
  208.         BASE$ = FindFileInTree("WMVC.EXE", GetListItem(HDLIST$, i%) + ":\")
  209.         IF BASE$ <> "" THEN
  210.         GOTO BREAKLOOP
  211.         ENDIF
  212.     NEXT i%
  213. BREAKLOOP:
  214.     RestoreCursor CursorSave%
  215.     IF BASE$ = "" THEN
  216.         BASE$ = "C:\MVPUBKIT"
  217.     ELSE
  218.         BASE$ = MID$(BASE$, 1, LEN(BASE$) - LEN("\WMVC.EXE"))
  219.         IF LEN(BASE$) < LEN("\MVTOOLS") THEN
  220.         BASE$ = "C:\MVPUBKIT"
  221.         ELSEIF MID$(BASE$, LEN(BASE$) - LEN("\MVTOOLS") + 1, LEN(BASE$)) = "\MVTOOLS" THEN
  222.         BASE$ = MID$(BASE$, 1, LEN(BASE$) - LEN("\MVTOOLS"))
  223.         ELSE
  224.         BASE$ = "C:\MVPUBKIT"
  225.         ENDIF
  226.     ENDIF
  227.     ENDIF
  228.  
  229. GETPATH:
  230.  
  231.     SetSymbolValue "EditTextIn", BASE$
  232.     SetSymbolValue "EditFocus", "ALL"
  233.  
  234. GETPATHL1:
  235.  
  236.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  237.     BASE$ = GetSymbolValue("EditTextOut")
  238.  
  239.     IF sz$ = "CONTINUE" THEN
  240.     IF IsDirWritable(BASE$) = 0 THEN
  241.         GOSUB BADPATH
  242.         GOTO GETPATHL1
  243.     ENDIF
  244.     UIPop 1
  245.     ELSEIF sz$ = "REACTIVATE" THEN
  246.     GOTO GETPATHL1
  247.     ELSE
  248.     GOSUB ASKQUIT
  249.     GOTO GETPATH
  250.     ENDIF
  251.  
  252.     PTKDRIVE$ = MID$(BASE$, 1, 1)
  253.     SYSDRIVE$ = MID$(SYSDIR$, 1, 1)
  254.  
  255. RECALC:
  256.  
  257.     sz$ = UIStartDlg(CUIDLL$, PLEASEWAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
  258.     cursor% = ShowWaitCursor()
  259.     FindFileSizes
  260.     FindDiskSizes
  261.     UpdateFileSizes
  262.     UpdateTotalSizes
  263.     RestoreCursor(cursor%)
  264.     UIPop 1
  265.  
  266. CUSTINST:
  267.  
  268.     sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
  269.  
  270.     IF sz$ = "CONTINUE" THEN
  271.         IF WILLFIT = 0 THEN
  272.             GOSUB TOOBIG
  273.             GOTO CUSTINST
  274.         ENDIF
  275.         UIPop 1
  276.         GOTO INSTALL
  277.     ELSEIF sz$ = "BACK" THEN
  278.         UIPop 1
  279.         GOTO GETPATH
  280.     ELSEIF MID$(sz$, 1, 3) = "CHK" THEN
  281.     IF sz$ = "CHK6" OR sz$ = "CHK1" THEN
  282.         UpdateFileSizes
  283.     ENDIF
  284.         UpdateTotalSizes
  285.         GOTO CUSTINST
  286.     ELSEIF sz$ = "BTN6" THEN
  287.         GOTO SELECTLANG
  288.     ELSEIF sz$ = "REACTIVATE" THEN
  289.     FindDiskSizes
  290.     UpdateTotalSizes
  291.         GOTO CUSTINST
  292.     ELSE
  293.         GOSUB ASKQUIT
  294.     FindDiskSizes
  295.     UpdateTotalSizes
  296.         GOTO CUSTINST
  297.     ENDIF
  298.  
  299. SELECTLANG:
  300.  
  301.     SetSymbolValue "RadioDefault1", DEFLANG$
  302.     SetSymbolValue "RadioDefault2", INSTALL$
  303.  
  304. SELECTLANGL1:
  305.  
  306.     sz$ = UIStartDlg(CUIDLL$, SELECTLANG, "FRadioDlgProc", APPHELP, HELPPROC$)
  307.     newdeflang$ = GetSymbolValue("ButtonChecked1")
  308.     newinstall$ = GetSymbolValue("ButtonChecked2")
  309.  
  310.     IF sz$ = "CONTINUE" THEN
  311.         UIPop 1
  312.         IF newdeflang$ <> DEFLANG$ OR newinstall$ <> INSTALL$ THEN
  313.             DEFLANG$ = newdeflang$
  314.             INSTALL$ = newinstall$
  315.             UpdateFileSizes
  316.             UpdateTotalSizes
  317.         ENDIF
  318.         newdeflang$ = ""
  319.         newinstall$ = ""
  320.         GOTO CUSTINST
  321.     ELSEIF sz$ = "REACTIVATE" THEN
  322.     FindDiskSizes
  323.     UpdateTotalSizes
  324.         GOTO SELECTLANGL1
  325.     ELSEIF sz$ = "EXIT" THEN
  326.         GOSUB ASKQUIT
  327.     FindDiskSizes
  328.     UpdateTotalSizes
  329.         GOTO SELECTLANGL1
  330.     ELSE
  331.         UIPop 1
  332.         newdeflang$ = ""
  333.         newinstall$ = ""
  334.         GOTO CUSTINST
  335.     ENDIF
  336.  
  337. INSTALL:
  338.  
  339.     CopyFiles
  340.  
  341. DEVSETUP:
  342.  
  343.     ' If we find this environment variable and a DEVSETUP.INF file up one directory then we try and set up our private stuff
  344.     PROJ$ = GetEnvVariableValue("LJPROJ")
  345.     IF PROJ$ <> "" THEN
  346.         SRC$ = GetSymbolValue("STF_SRCDIR")
  347.         IF LEN(SRC$) > LEN("C:\X\IMAGE") THEN
  348.             REL$ = MID$(SRC$, 1, LEN(SRC$) - LEN("\IMAGE"))
  349.             IF DoesFileExist(MakePath(REL$, "DEVSETUP.INF"), femRead) THEN
  350.                 ReadInfFile MakePath(REL$, "DEVSETUP.INF")
  351.                 ClearCopyList
  352.                 AddSectionFilesToCopyList "LIB", MakePath(REL$, "LIB"), MakePath(PROJ$, "LIB")
  353.                 AddSectionFilesToCopyList "INC", MakePath(REL$, "INC"), MakePath(PROJ$, "INC")
  354.                 AddSectionFilesToCopyList "BIN", MakePath(REL$, "BIN"), MakePath(PROJ$, "BIN")
  355.                 CopyFilesInCopyList
  356.         ENDIF
  357.         ENDIF
  358.     ENDIF
  359.  
  360. MAKEMVLANGBAT:
  361.  
  362.     IF GetListItem(CHECKSTATES$, RUNTIME) = "ON" AND GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND INSTALL$ = "1" THEN
  363.  
  364.     ' We now create MVLANG.BAT in the SYSTEM directory
  365.     OPEN MakePath(BASE$, "MVLANG.BAT") FOR OUTPUT AS #1
  366.  
  367.     PRINT #1, "@echo off"
  368.     PRINT #1, "if " + CHR$(34) + "%1" + CHR$(34) + " == " + CHR$(34) + "USA" + CHR$(34) + " goto usa"
  369.     PRINT #1, "if " + CHR$(34) + "%1" + CHR$(34) + " == " + CHR$(34) + "usa" + CHR$(34) + " goto usa"
  370.     PRINT #1, "if " + CHR$(34) + "%1" + CHR$(34) + " == " + CHR$(34) + "FRN" + CHR$(34) + " goto frn"
  371.     PRINT #1, "if " + CHR$(34) + "%1" + CHR$(34) + " == " + CHR$(34) + "frn" + CHR$(34) + " goto frn"
  372.     PRINT #1, "if " + CHR$(34) + "%1" + CHR$(34) + " == " + CHR$(34) + "GER" + CHR$(34) + " goto ger"
  373.     PRINT #1, "if " + CHR$(34) + "%1" + CHR$(34) + " == " + CHR$(34) + "ger" + CHR$(34) + " goto ger"
  374.     PRINT #1, "echo."
  375.     PRINT #1, "echo Usage: MVLANG USA [mvpubkit path]"
  376.     PRINT #1, "echo Usage: MVLANG FRN [mvpubkit path]"
  377.     PRINT #1, "echo Usage: MVLANG GER [mvpubkit path]"
  378.     PRINT #1, "echo."
  379.     PRINT #1, "goto end"
  380.  
  381.     PRINT #1, ":usa"
  382.     PRINT #1, "if not " + CHR$(34) + "%2" + CHR$(34) " == " + CHR$(34) + CHR$(34) + " goto usapathgiven"
  383.     PRINT #1, "if exist " + MakePath(BASE$, "MVSYSUSA\MVBRKR2.DLL") + " goto usadefaultok"
  384.     PRINT #1, "echo."
  385.     PRINT #1, "echo Can not find " + MakePath(BASE$, "MVSYSUSA")
  386.     PRINT #1, "echo Please specify the correct path to your Viewer Publishing Kit directory."
  387.     PRINT #1, "echo."
  388.     PRINT #1, "goto end"
  389.     PRINT #1, ":usadefaultok"
  390.     PRINT #1, "copy " + MakePath(BASE$, "MVSYSUSA\*.*") + ", " + MakePath(SYSDIR$, ".")
  391.     PRINT #1, "goto end"
  392.     PRINT #1, ":usapathgiven"
  393.     PRINT #1, "if exist %2\MVSYSUSA\MVBRKR2.DLL goto usagivenok"
  394.     PRINT #1, "echo."
  395.     PRINT #1, "echo Can not find %2\MVSYSUSA"
  396.     PRINT #1, "echo Please ensure the path is correct."
  397.     PRINT #1, "echo."
  398.     PRINT #1, "goto end"
  399.     PRINT #1, ":usagivenok"
  400.     PRINT #1, "copy %2\MVSYSUSA\*.*, " + MakePath(SYSDIR$, ".")
  401.     PRINT #1, "goto end"
  402.  
  403.     PRINT #1, ":frn"
  404.     PRINT #1, "if not " + CHR$(34) + "%2" + CHR$(34) " == " + CHR$(34) + CHR$(34) + " goto frnpathgiven"
  405.     PRINT #1, "if exist " + MakePath(BASE$, "MVSYSFRN\MVBRKR2.DLL") + " goto frndefaultok"
  406.     PRINT #1, "echo."
  407.     PRINT #1, "echo Can not find " + MakePath(BASE$, "MVSYSFRN")
  408.     PRINT #1, "echo Please specify the correct path to your Viewer Publishing Kit directory."
  409.     PRINT #1, "echo."
  410.     PRINT #1, "goto end"
  411.     PRINT #1, ":frndefaultok"
  412.     PRINT #1, "copy " + MakePath(BASE$, "MVSYSFRN\*.*") + ", " + MakePath(SYSDIR$, ".")
  413.     PRINT #1, "if errorlevel 1 goto error"
  414.     PRINT #1, "goto end"
  415.     PRINT #1, ":frnpathgiven"
  416.     PRINT #1, "if exist %2\MVSYSFRN\MVBRKR2.DLL goto frngivenok"
  417.     PRINT #1, "echo."
  418.     PRINT #1, "echo Can not find %2\MVSYSFRN"
  419.     PRINT #1, "echo Please ensure the path is correct."
  420.     PRINT #1, "echo."
  421.     PRINT #1, "goto end"
  422.     PRINT #1, ":frngivenok"
  423.     PRINT #1, "copy %2\MVSYSFRN\*.*, " + MakePath(SYSDIR$, ".")
  424.     PRINT #1, "goto end"
  425.  
  426.     PRINT #1, ":ger"
  427.     PRINT #1, "if not " + CHR$(34) + "%2" + CHR$(34) " == " + CHR$(34) + CHR$(34) + " goto gerpathgiven"
  428.     PRINT #1, "if exist " + MakePath(BASE$, "MVSYSGER\MVBRKR2.DLL") + " goto gerdefaultok"
  429.     PRINT #1, "echo."
  430.     PRINT #1, "echo Can not find " + MakePath(BASE$, "MVSYSGER")
  431.     PRINT #1, "echo Please specify the correct path to your Viewer Publishing Kit directory."
  432.     PRINT #1, "echo."
  433.     PRINT #1, "goto end"
  434.     PRINT #1, ":gerdefaultok"
  435.     PRINT #1, "copy " + MakePath(BASE$, "MVSYSGER\*.*") + ", " + MakePath(SYSDIR$, ".")
  436.     PRINT #1, "if errorlevel 1 goto error"
  437.     PRINT #1, "goto end"
  438.     PRINT #1, ":gerpathgiven"
  439.     PRINT #1, "if exist %2\MVSYSGER\MVBRKR2.DLL goto gergivenok"
  440.     PRINT #1, "echo."
  441.     PRINT #1, "echo Can not find %2\MVSYSGER"
  442.     PRINT #1, "echo Please ensure the path is correct."
  443.     PRINT #1, "echo."
  444.     PRINT #1, "goto end"
  445.     PRINT #1, ":gergivenok"
  446.     PRINT #1, "copy %2\MVSYSGER\*.*, " + MakePath(SYSDIR$, ".")
  447.     PRINT #1, "goto end"
  448.  
  449.     PRINT #1, ":end"
  450.  
  451.     CLOSE #1
  452.  
  453.     ENDIF
  454.  
  455. DOPROGMANENTRIES:
  456.  
  457.     CreateProgmanGroup "Demo Multimedia Viewer 2.0 PTK", "", cmoOverwrite
  458.     ShowProgmanGroup "Demo Multimedia Viewer 2.0 PTK", 1, cmoNone
  459.  
  460.     IF GetListItem(CHECKSTATES$, RUNTIME) = "ON" THEN
  461.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Multimedia Viewer 2.0", "MVIEWER2.EXE", "", cmoOverwrite
  462.     ENDIF
  463.  
  464.     IF GetListItem(CHECKSTATES$, AUTHOR) = "ON" THEN
  465.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Viewer 2.0 Gallery", "mviewer2.exe " + MakePath(SRCDIR$, "MVSAMPLE\GALLERY\GALLERY.MVB"), MakePath(SRCDIR$, "MVSAMPLE\GALLERY\GALLERY.ICO"), cmoOverwrite
  466.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Viewer 2.0 Compiler", MakePath(BASE$, "MVTOOLS\WMVC.EXE"), "", cmoOverwrite
  467.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Project Editor", MakePath(BASE$, "MVTOOLS\MVPROJ.EXE"), "", cmoOverwrite
  468.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Hotspot Editor", MakePath(BASE$, "MVTOOLS\SHED2.EXE"), "", cmoOverwrite
  469.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "WaveEdit", MakePath(BASE$, "MVTOOLS\WAVEEDIT.EXE"), "", cmoOverwrite
  470.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "BitEdit", MakePath(BASE$, "MVTOOLS\BITEDIT.EXE"), "", cmoOverwrite
  471.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "PalEdit", MakePath(BASE$, "MVTOOLS\PALEDIT.EXE"), "", cmoOverwrite
  472.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Convert", MakePath(BASE$, "MVTOOLS\CONVERT.EXE"), "", cmoOverwrite
  473.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Media Player", "MPLAYER.EXE", "", cmoOverwrite
  474.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Viewer 2.0 API", "MVIEWER2 " + MakePath(BASE$, "MVTOOLS\MVAPIREF.MVB"), "", cmoOverwrite
  475.         CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Multimedia Authoring Guide", "MVIEWER2 " + MakePath(BASE$, "MVTOOLS\MMAG.MVB"), "", cmoOverwrite
  476.     ENDIF
  477.  
  478.     CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Read Me", "NOTEPAD " + MakePath(BASE$, "README.TXT"), "", cmoOverwrite
  479.     CreateProgmanItem "Demo Multimedia Viewer 2.0 PTK", "Common Questions", "NOTEPAD " + MakePath(BASE$, "QUESTION.TXT"), "", cmoOverwrite
  480.  
  481. DOINIENTRIES:
  482.  
  483.     IF GetListItem(CHECKSTATES$, AUTHOR) = "ON" THEN
  484.         CreateIniKeyValue MakePath(WINDIR$, "MVPROJ.INI"), "preferences", "PathToCompiler", LCASE$(MakePath(BASE$, "mvtools\wmvc.exe")), cmoOverwrite
  485.  
  486.         CreateIniKeyValue MakePath(WINDIR$, "VIEWER.INI"), "Gallery", "Name", "Gallery Sample Application", cmoOverwrite
  487.         CreateIniKeyValue MakePath(WINDIR$, "VIEWER.INI"), "Gallery", "Path", LCASE$(MakePath(SRCDIR$, "MVSAMPLE\GALLERY\GALLERY.MVB")), cmoOverwrite
  488.         CreateIniKeyValue MakePath(WINDIR$, "VIEWER.INI"), "Gallery", "QFLAGS", "3", cmoOverwrite
  489.         CreateIniKeyValue MakePath(WINDIR$, "VIEWER.INI"), "FILES", "GALLERY.MVB", LCASE$(MakePath(SRCDIR$, "MVSAMPLE\GALLERY\")) + ",Please insert the Viewer 2.0 PTK disk.", cmoOverwrite
  490.         CreateIniKeyValue MakePath(WINDIR$, "VIEWER.INI"), "FILES", "USA.MVB", LCASE$(MakePath(SRCDIR$, "MVSAMPLE\USA\")) + ",Please insert the Viewer 2.0 PTK disk.", cmoOverwrite
  491.         CreateIniKeyValue MakePath(WINDIR$, "VIEWER.INI"), "FILES", "PCHELP.MVB", LCASE$(MakePath(SRCDIR$, "MVSAMPLE\USA\")) + ",Please insert the Viewer 2.0 PTK disk.", cmoOverwrite
  492.  
  493.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "AutoCAD Plot File(.PLT)", MakePath(GRPHFLTDIR$, "adimport.flt,PLT"), cmoNone
  494.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "Computer Graphics Metafile(.CGM)", MakePath(GRPHFLTDIR$, "cgmimp.flt,CGM"), cmoNone
  495.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "HP Graphic Language(.HGL)", MakePath(GRPHFLTDIR$, "hpglimp.flt,HGL"), cmoNone
  496.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "Lotus 1-2-3 Graphics(.PIC)", MakePath(GRPHFLTDIR$, "lotusimp.flt,PIC"), cmoNone
  497.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "Encapsulated Postscript(.EPS)", MakePath(GRPHFLTDIR$, "epsimp.flt,EPS"), cmoNone
  498.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "Tagged Image Format(.TIF)", MakePath(GRPHFLTDIR$, "tiffimp.flt,TIF"), cmoNone
  499.         CreateIniKeyValue "WIN.INI", "MS Graphic Import Filters", "Windows Metafile(.WMF)", MakePath(GRPHFLTDIR$, "wmf.flt,WMF"), cmoNone
  500.  
  501.         CreateIniKeyValue "WIN.INI", "Extensions", "bmp", LCASE$(MakePath(BASE$, "mvtools\bitedit.exe ^.bmp")), cmoNone
  502.         CreateIniKeyValue "WIN.INI", "Extensions", "dib", LCASE$(MakePath(BASE$, "mvtools\bitedit.exe ^.dib")), cmoNone
  503.         CreateIniKeyValue "WIN.INI", "Extensions", "shg", LCASE$(MakePath(BASE$, "mvtools\shed2.exe ^.shg")), cmoOverwrite
  504.         CreateIniKeyValue "WIN.INI", "Extensions", "mvp", LCASE$(MakePath(BASE$, "mvtools\mvproj.exe ^.mvp")), cmoOverwrite
  505.         CreateIniKeyValue "WIN.INI", "Extensions", "mvb", "mviewer2.exe ^.mvb", cmoOverwrite
  506.  
  507.         CreateIniKeyValue "WIN.INI", "mci extensions", "AVI", "AVIVIDEO", cmoNone
  508.         CreateIniKeyValue MakePath(WINDIR$, "SYSTEM.INI"), "mci", "AVIVIDEO", "MCIAVI.DRV", cmoNone
  509.         CreateIniKeyValue MakePath(WINDIR$, "SYSTEM.INI"), "drivers", "vidc.msvc", "msvidc.drv", cmoNone
  510.         CreateIniKeyValue MakePath(WINDIR$, "SYSTEM.INI"), "drivers", "vidc.rt21", "indeo.drv", cmoNone
  511.  
  512.     ENDIF
  513.  
  514. MODIFYCONFIG:
  515.  
  516.     IF GetListItem(CHECKSTATES$, SONY) = "ON" THEN
  517.  
  518.     list$ = "HardDrive"
  519.     GetLocalHardDrivesList list$
  520.     config$ = GetListItem(list$, 1) + ":\config.sys"
  521.     temp$ = GetListItem(list$, 1) + ":\config.mv"
  522.     backup$ = GetListItem(list$, 1) + ":\config.bak"
  523.     CopyNewFile config$, "piexpc.sys", LCASE$(MakePath(BASE$, "MVSONY"))
  524.  
  525.     IF DoesFileExist(temp$, femExists) AND GetSizeOfFile(temp$) > 0 THEN
  526.  
  527.         SetSymbolValue "RadioDefault", OPTSONY$
  528.         SetSymbolValue "String1", LCASE$("DEVICE="+MakePath(BASE$, "MVSONY\PIEXPC.SYS")+" /d="+MakePath(BASE$, "MVSONY"))
  529.         SetSymbolValue "String2", "stacks=15,256"
  530.  
  531. MODCONFIG1:
  532.  
  533.         sz$ = UIStartDlg(CUIDLL$, ASKCONFIG, "FAskConfigDlgProc", APPHELP, HELPPROC$)
  534.         OPTSONY$ = GetSymbolValue("ButtonChecked")
  535.  
  536.         IF sz$ = "CONTINUE" THEN
  537.         UIPop(1)
  538.         ELSEIF sz$ = "REACTIVATE" THEN
  539.         GOTO MODCONFIG1
  540.         ELSE
  541.         GOSUB ASKQUIT
  542.         GOTO MODCONFIG1
  543.         END IF
  544.  
  545.         IF OPTSONY$ = "1" THEN
  546.         '' Save a backup then change config.sys
  547.         CopyFile config$, backup$, cmoOverwrite, 0
  548.         CopyFile temp$, config$, cmoOverwrite, 0
  549.         RemoveFile temp$, cmoNone
  550.         MUSTREBOOT = 1
  551.         ELSEIF OPTSONY$ = "2" THEN
  552.         'Leave changes in config.mv
  553.         ELSEIF OPTSONY$ = "3" THEN
  554.         'Don't do anything
  555.         RemoveFile temp$, cmoNone
  556.         ENDIF
  557.  
  558.     ENDIF
  559.  
  560.     ENDIF
  561.  
  562. MODIFYAUTOEXEC:
  563.  
  564.     IF GetListItem(CHECKSTATES$, AUTHOR) = "ON" AND VSharePresent() = 0 THEN
  565.  
  566.     list$ = "HardDrive"
  567.     GetLocalHardDrivesList list$
  568.     autoexec$ = GetListItem(list$, 1) + ":\autoexec.bat"
  569.     temp$ = GetListItem(list$, 1) + ":\autoexec.mv"
  570.     backup$ = GetListItem(list$, 1) + ":\autoexec.bak"
  571.     CopyNewExecFile autoexec$
  572.  
  573.     IF DoesFileExist(temp$, femExists) <> 0 AND GetSizeOfFile(temp$) > 0 THEN
  574.  
  575.         SetSymbolValue "RadioDefault", OPTAUTOEXEC$
  576.         SetSymbolValue "String1", ""
  577.         SetSymbolValue "String2", ""
  578.  
  579. MODAUTOEXEC1:
  580.  
  581.         sz$ = UIStartDlg(CUIDLL$, ASKAUTOEXEC, "FAskConfigDlgProc", APPHELP, HELPPROC$)
  582.         OPTAUTOEXEC$ = GetSymbolValue("ButtonChecked")
  583.  
  584.         IF sz$ = "CONTINUE" THEN
  585.         UIPop(1)
  586.         ELSEIF sz$ = "REACTIVATE" THEN
  587.         GOTO MODAUTOEXEC1
  588.         ELSE
  589.         GOSUB ASKQUIT
  590.         GOTO MODAUTOEXEC1
  591.         END IF
  592.  
  593.         IF OPTAUTOEXEC$ = "1" THEN
  594.         '' Save a backup then change autoexec.bat
  595.         CopyFile autoexec$, backup$, cmoOverwrite, 0
  596.         CopyFile temp$, autoexec$, cmoOverwrite, 0
  597.         RemoveFile temp$, cmoNone
  598.         MUSTREBOOT = 1
  599.         ELSEIF OPTAUTOEXEC$ = "2" THEN
  600.         'Leave changes in autoexec.mv
  601.         ELSEIF OPTAUTOEXEC$ = "3" THEN
  602.         'Don't do anything
  603.         RemoveFile temp$, cmoNone
  604.         ENDIF
  605.  
  606.     ENDIF
  607.  
  608.     ENDIF
  609.  
  610.  
  611. QUIT:
  612.  
  613.     ON ERROR GOTO ERRQUIT
  614.  
  615.     IF ERR = 0 THEN
  616.     IF MUSTREBOOT = 1 THEN
  617.         dlg% = EXITSUCCESSREBOOT
  618.     ELSE
  619.         dlg% = EXITSUCCESS
  620.     ENDIF
  621.     ELSEIF ERR = STFQUIT THEN
  622.     dlg% = EXITQUIT
  623.     ELSE
  624.     dlg% = EXITFAILURE
  625.     ENDIF
  626.  
  627. QUITL1:
  628.  
  629.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  630.     IF sz$ = "REACTIVATE" THEN
  631.     GOTO QUITL1
  632.     ELSEIF sz$ = "EXIT" THEN
  633.     Reboot
  634.     ELSE
  635.     UIPop 1
  636.     ENDIF
  637.  
  638.     END
  639.  
  640. ERRQUIT:
  641.  
  642.     i% = DoMsgBox("Setup sources were corrupted.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  643.     END
  644.  
  645. TOOBIG:
  646.  
  647.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  648.     IF sz$ = "REACTIVATE" THEN
  649.     FindDiskSizes
  650.     UpdateTotalSizes
  651.         GOTO TOOBIG
  652.     ENDIF
  653.     UIPop 1
  654.     RETURN
  655.  
  656. BADPATH:
  657.  
  658.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  659.     IF sz$ = "REACTIVATE" THEN
  660.         GOTO BADPATH
  661.     ENDIF
  662.     UIPop 1
  663.     RETURN
  664.  
  665. ASKQUIT:
  666.  
  667.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  668.  
  669.     IF sz$ = "EXIT" THEN
  670.         UIPopAll
  671.         ERROR STFQUIT
  672.     ELSEIF sz$ = "REACTIVATE" THEN
  673.         GOTO ASKQUIT
  674.     ELSE
  675.         UIPop 1
  676.     ENDIF
  677.     RETURN
  678.  
  679.  
  680. ' Function to concatenate two parts of a path, adding a '\' if necessary
  681.  
  682. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  683.     IF szDir$ = "" THEN
  684.     MakePath = szFile$
  685.     ELSEIF szFile$ = "" THEN
  686.     MakePath = szDir$
  687.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  688.     MakePath = szDir$ + szFile$
  689.     ELSE
  690.     MakePath = szDir$ + "\" + szFile$
  691.     ENDIF
  692. END FUNCTION
  693.  
  694.  
  695. ' Max function
  696.  
  697. FUNCTION Max (a&, b&) STATIC AS LONG
  698.     IF a& > b& THEN
  699.         Max = a&
  700.     ELSE
  701.         Max = b&
  702.     ENDIF
  703. END FUNCTION
  704.  
  705.  
  706. ' Subroutine to do the actual file copying
  707.  
  708. SUB CopyFiles STATIC
  709.     ClearCopyList
  710.     AddFiles ROOTFILES, 1
  711.     IF GetListItem(CHECKSTATES$, RUNTIME) = "ON" THEN
  712.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "OFF" OR (GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND DEFLANG$ = "1") THEN
  713.         AddFiles USARUNTIMEFILES, 1
  714.     ELSEIF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND DEFLANG$ = "2" THEN
  715.         AddFiles FRNRUNTIMEFILES, 1
  716.     ELSEIF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND DEFLANG$ = "3" THEN
  717.         AddFiles GERRUNTIMEFILES, 1
  718.     ENDIF
  719.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND INSTALL$ = "1" THEN
  720.             AddFiles LOCALRUNTIMEFILES, 1
  721.         ENDIF
  722.     ENDIF
  723.     IF GetListItem(CHECKSTATES$, AUTHOR) = "ON" THEN
  724.         AddFiles AUTHORFILES, 1
  725.     ENDIF
  726.     IF GetListItem(CHECKSTATES$, SONY) = "ON" THEN
  727.     AddFiles SONYFILES, 1
  728.     ENDIF
  729.     IF GetListItem(CHECKSTATES$, HELP) = "ON" THEN
  730.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "OFF" OR (GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "1"))) THEN
  731.             AddFiles USAHELPFILES, 1
  732.         ENDIF
  733.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "2")) THEN
  734.             AddFiles FRNHELPFILES, 1
  735.         ENDIF
  736.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "3")) THEN
  737.             AddFiles GERHELPFILES, 1
  738.         ENDIF
  739.     ENDIF
  740.     IF GetListItem(CHECKSTATES$, PROGSAMPLE) = "ON" THEN
  741.         AddFiles PROGSAMPLEFILES, 1
  742.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "OFF" OR (GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "1"))) THEN
  743.             AddFiles PROGSAMPLEFILESUSA, 1
  744.         ENDIF
  745.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "2")) THEN
  746.             AddFiles PROGSAMPLEFILESFRN, 1
  747.         ENDIF
  748.         IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "3")) THEN
  749.             AddFiles PROGSAMPLEFILESGER, 1
  750.         ENDIF
  751.     ENDIF
  752.     IF GetListItem(CHECKSTATES$, WINSAMPLE) = "ON" THEN
  753.         AddFiles WINSAMPLEFILES, 1
  754.     ENDIF
  755.     IF GetListItem(CHECKSTATES$, SONYSAMPLE) = "ON" THEN
  756.     AddFiles SONYSAMPLEFILES, 1
  757.     ENDIF
  758.     CopyFilesInCopyList
  759. END SUB
  760.  
  761.  
  762. ' Subroutine to find the sizes for each copy option
  763.  
  764. SUB FindFileSizes STATIC
  765.     szExtras$ = "Extras"
  766.     szCosts$ = "Costs"
  767.     szNeededs$ = "Neededs"
  768.     FOR i% = 1 TO 26 STEP 1
  769.         AddListItem szExtras$, "0"
  770.         AddListItem szCosts$, "0"
  771.         AddListItem szNeededs$, "0"
  772.     NEXT i%
  773.     nptkdrive% = ASC(ucase$(PTKDRIVE$)) - ASC("A") + 1
  774.     nsysdrive% = ASC(ucase$(SYSDRIVE$)) - ASC("A") + 1
  775.     FOR option% = ROOTFILES TO SONYSAMPLEFILES STEP 1
  776.         ClearCopyList
  777.         AddFiles option%, 0
  778.         ret& = GetCopyListCost(szExtras$, szCosts$, szNeededs$)
  779.         ReplaceListItem SYSCOST$, option%, GetListItem(szCosts$, nsysdrive%)
  780.         ReplaceListItem PTKCOST$, option%, GetListItem(szCosts$, nptkdrive%)
  781.     NEXT option%
  782. END SUB
  783.  
  784.  
  785. ' Subroutine to find the free space
  786.  
  787. SUB FindDiskSizes STATIC
  788.     PTKFREE& = GetFreeSpaceForDrive(PTKDRIVE$)
  789.     SYSFREE& = GetFreeSpaceForDrive(SYSDRIVE$)
  790. END SUB
  791.  
  792.  
  793. ' Subroutine to update the status text of the option dialog
  794.  
  795. SUB UpdateFileSizes STATIC
  796.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "OFF" OR (GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND DEFLANG$ = "1") THEN
  797.         cost& = VAL(GetListItem(SYSCOST$, USARUNTIMEFILES))
  798.     ELSEIF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND DEFLANG$ = "2" THEN
  799.         cost& = VAL(GetListItem(SYSCOST$, FRNRUNTIMEFILES))
  800.     ELSEIF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND DEFLANG$ = "3" THEN
  801.         cost& = VAL(GetListItem(SYSCOST$, GERRUNTIMEFILES))
  802.     ENDIF
  803.     ReplaceListItem STATUSTEXT$, RUNTIME, STR$(Max(0, cost&) / 1000) + " K"
  804.  
  805.     cost& = VAL(GetListItem(PTKCOST$, AUTHORFILES))
  806.     IF PTKDRIVE$ <> SYSDRIVE$ THEN
  807.         cost& = cost& + VAL(GetListItem(SYSCOST$, AUTHORFILES))
  808.     END IF
  809.     ReplaceListItem STATUSTEXT$, AUTHOR, STR$(Max(0, cost&) / 1000) + " K"
  810.  
  811.     cost& = VAL(GetListItem(PTKCOST$, SONYFILES))
  812.     ReplaceListItem STATUSTEXT$, SONY, STR$(Max(0, cost&) / 1000) + " K"
  813.  
  814.     cost& = 0
  815.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "OFF" OR (GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "1"))) THEN
  816.         cost& = cost& + VAL(GetListItem(PTKCOST$, USAHELPFILES))
  817.     ENDIF
  818.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "2")) THEN
  819.         cost& = cost& + VAL(GetListItem(PTKCOST$, FRNHELPFILES))
  820.     ENDIF
  821.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "3")) THEN
  822.         cost& = cost& + VAL(GetListItem(PTKCOST$, GERHELPFILES))
  823.     ENDIF
  824.     ReplaceListItem STATUSTEXT$, HELP, STR$(Max(0, cost&) / 1000) + " K"
  825.  
  826.     cost& = 0
  827.     IF GetListItem(CHECKSTATES$, RUNTIME) = "ON" AND INSTALL$ = "1" THEN
  828.         cost& = cost& + VAL(GetListItem(PTKCOST$, LOCALRUNTIMEFILES))
  829.     ENDIF
  830.     ReplaceListItem STATUSTEXT$, LOCALIZE, STR$(Max(0, cost&) / 1000) + " K"
  831.  
  832.     cost& = VAL(GetListItem(PTKCOST$, PROGSAMPLEFILES))
  833.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "OFF" OR (GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "1"))) THEN
  834.         cost& = cost& + VAL(GetListItem(PTKCOST$, PROGSAMPLEFILESUSA))
  835.     ENDIF
  836.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "2")) THEN
  837.         cost& = cost& + VAL(GetListItem(PTKCOST$, PROGSAMPLEFILESFRN))
  838.     ENDIF
  839.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" AND (INSTALL$ = "1" OR (INSTALL$ = "2" AND DEFLANG$ = "3")) THEN
  840.         cost& = cost& + VAL(GetListItem(PTKCOST$, PROGSAMPLEFILESGER))
  841.     ENDIF
  842.     ReplaceListItem STATUSTEXT$, PROGSAMPLE, STR$(Max(0, cost&) / 1000) + " K"
  843.  
  844.     cost& = VAL(GetListItem(PTKCOST$, WINSAMPLEFILES))
  845.     ReplaceListItem STATUSTEXT$, WINSAMPLE, STR$(Max(0, cost&) / 1000) + " K"
  846.  
  847.     cost& = VAL(GetListItem(PTKCOST$, SONYSAMPLEFILES))
  848.     ReplaceListItem STATUSTEXT$, SONYSAMPLE, STR$(Max(0, cost&) / 1000) + " K"
  849. END SUB
  850.  
  851.  
  852. ' Subroutine to update the status text of the option dialog
  853.  
  854. SUB UpdateTotalSizes STATIC
  855.     cursyscost& = 0
  856.     curptkcost& = 0
  857.  
  858.     curptkcost& = curptkcost& + VAL(GetListItem(PTKCOST$, ROOTFILES)) / 1000
  859.  
  860.     IF GetListItem(CHECKSTATES$, RUNTIME) = "ON" THEN
  861.     IF PTKDRIVE$ = SYSDRIVE$ THEN
  862.             curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, RUNTIME))
  863.         ELSE
  864.             cursyscost& = cursyscost& + VAL(GetListItem(STATUSTEXT$, RUNTIME))
  865.         ENDIF
  866.     ENDIF
  867.  
  868.     IF GetListItem(CHECKSTATES$, AUTHOR) = "ON" THEN
  869.         curptkcost& = curptkcost& + Max(0, VAL(GetListItem(PTKCOST$, AUTHORFILES)) / 1000)
  870.         cursyscost& = cursyscost& + Max(0, VAL(GetListItem(SYSCOST$, AUTHORFILES)) / 1000)
  871.     ENDIF
  872.  
  873.     IF GetListItem(CHECKSTATES$, SONY) = "ON" THEN
  874.         curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, SONY))
  875.     ENDIF
  876.  
  877.     IF GetListItem(CHECKSTATES$, HELP) = "ON" THEN
  878.         curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, HELP))
  879.     ENDIF
  880.  
  881.     IF GetListItem(CHECKSTATES$, LOCALIZE) = "ON" THEN
  882.         curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, LOCALIZE))
  883.     ENDIF
  884.  
  885.     IF GetListItem(CHECKSTATES$, PROGSAMPLE) = "ON" THEN
  886.         curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, PROGSAMPLE))
  887.     ENDIF
  888.  
  889.     IF GetListItem(CHECKSTATES$, WINSAMPLE) = "ON" THEN
  890.         curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, WINSAMPLE))
  891.     ENDIF
  892.  
  893.     IF GetListItem(CHECKSTATES$, SONYSAMPLE) = "ON" THEN
  894.         curptkcost& = curptkcost& + VAL(GetListItem(STATUSTEXT$, SONYSAMPLE))
  895.     ENDIF
  896.  
  897.     IF PTKDRIVE$ = SYSDRIVE$ THEN
  898.         ReplaceListItem DRIVETEXT$, 1, PTKDRIVE$ + ":"
  899.         ReplaceListItem DRIVETEXT$, 2, STR$(curptkcost&) + " K"
  900.         ReplaceListItem DRIVETEXT$, 3, STR$(PTKFREE& / 1000) + " K"
  901.         ReplaceListItem DRIVETEXT$, 4, ""
  902.         ReplaceListItem DRIVETEXT$, 5, ""
  903.         ReplaceListItem DRIVETEXT$, 6, ""
  904.     ELSE
  905.         ReplaceListItem DRIVETEXT$, 1, PTKDRIVE$ + ":"
  906.         ReplaceListItem DRIVETEXT$, 2, STR$(curptkcost&) + " K"
  907.         ReplaceListItem DRIVETEXT$, 3, STR$(PTKFREE& / 1000) + " K"
  908.         ReplaceListItem DRIVETEXT$, 4, SYSDRIVE$ + ":"
  909.         ReplaceListItem DRIVETEXT$, 5, STR$(cursyscost&) + " K"
  910.         ReplaceListItem DRIVETEXT$, 6, STR$(SYSFREE& / 1000) + " K"
  911.     ENDIF
  912.     IF curptkcost& > (PTKFREE& / 1000) OR cursyscost& > (SYSFREE& / 1000) THEN
  913.         WILLFIT = 0
  914.     ELSE
  915.         WILLFIT = 1
  916.     ENDIF
  917. END SUB
  918.  
  919.  
  920. ' Subroutine to add files to the copy list and optionally create directories
  921.  
  922. SUB AddFiles(option%, makedir%) STATIC
  923.     IF option% = ROOTFILES THEN
  924.         AddSectionFilesToCopyList "ROOT", SRCDIR$, BASE$
  925.     ELSEIF option% = USARUNTIMEFILES THEN
  926.         AddSectionFilesToCopyList "MVSYSUSA", MakePath(SRCDIR$, "MVSYSUSA"), SYSDIR$
  927.     ELSEIF option% = GERRUNTIMEFILES THEN
  928.         AddSectionFilesToCopyList "MVSYSGER", MakePath(SRCDIR$, "MVSYSGER"), SYSDIR$
  929.     ELSEIF option% = FRNRUNTIMEFILES THEN
  930.         AddSectionFilesToCopyList "MVSYSFRN", MakePath(SRCDIR$, "MVSYSFRN"), SYSDIR$
  931.     ELSEIF option% = LOCALRUNTIMEFILES THEN
  932.         AddSectionFilesToCopyList "MVSYSUSA", MakePath(SRCDIR$, "MVSYSUSA"), MakePath(BASE$, "MVSYSUSA")
  933.         AddSectionFilesToCopyList "MVSYSGER", MakePath(SRCDIR$, "MVSYSGER"), MakePath(BASE$, "MVSYSGER")
  934.         AddSectionFilesToCopyList "MVSYSFRN", MakePath(SRCDIR$, "MVSYSFRN"), MakePath(BASE$, "MVSYSFRN")
  935.     ELSEIF option% = AUTHORFILES THEN
  936.         AddSectionFilesToCopyList "MVTOOLS", MakePath(SRCDIR$, "MVTOOLS"), MakePath(BASE$, "MVTOOLS")
  937.         AddSectionFilesToCopyList "SYSTEM", MakePath(SRCDIR$, "SYSTEM"), SYSDIR$
  938.         AddSectionFilesToCopyList "SYSTEMVIDEO", MakePath(SRCDIR$, "SYSTEM"), SYSDIR$
  939.         AddSectionFilesToCopyList "WINDOWS", MakePath(SRCDIR$, "WINDOWS"), WINDIR$
  940.         AddSectionFilesToCopyList "GRPHFLT", MakePath(SRCDIR$, "GRPHFLT"), GRPHFLTDIR$
  941.         AddSectionFilesToCopyList "TUTORIAL", MakePath(SRCDIR$, "TUTORIAL"), MakePath(BASE$, "TUTORIAL")
  942.     ELSEIF option% = SONYFILES THEN
  943.         AddSectionFilesToCopyList "MVSONY", MakePath(SRCDIR$, "MVSONY"), MakePath(BASE$, "MVSONY")
  944.     ELSEIF option% = USAHELPFILES THEN
  945.         AddSectionFilesToCopyList "MVHLPUSA", MakePath(SRCDIR$, "MVHLPUSA"), MakePath(BASE$, "MVHLPUSA")
  946.         AddSectionFilesToCopyList "MVHLPUSATEXT", MakePath(SRCDIR$, "MVHLPUSA\TEXT"), MakePath(BASE$, "MVHLPUSA\TEXT")
  947.         AddSectionFilesToCopyList "MVHLPUSAGRAPHICS", MakePath(SRCDIR$, "MVHLPUSA\GRAPHICS"), MakePath(BASE$, "MVHLPUSA\GRAPHICS")
  948.     ELSEIF option% = GERHELPFILES THEN
  949.         AddSectionFilesToCopyList "MVHLPGER", MakePath(SRCDIR$, "MVHLPGER"), MakePath(BASE$, "MVHLPGER")
  950.         AddSectionFilesToCopyList "MVHLPGERTEXT", MakePath(SRCDIR$, "MVHLPGER\TEXT"), MakePath(BASE$, "MVHLPGER\TEXT")
  951.         AddSectionFilesToCopyList "MVHLPGERGRAPHICS", MakePath(SRCDIR$, "MVHLPGER\GRAPHICS"), MakePath(BASE$, "MVHLPGER\GRAPHICS")
  952.     ELSEIF option% = FRNHELPFILES THEN
  953.         AddSectionFilesToCopyList "MVHLPFRN", MakePath(SRCDIR$, "MVHLPFRN"), MakePath(BASE$, "MVHLPFRN")
  954.         AddSectionFilesToCopyList "MVHLPFRNTEXT", MakePath(SRCDIR$, "MVHLPFRN\TEXT"), MakePath(BASE$, "MVHLPFRN\TEXT")
  955.         AddSectionFilesToCopyList "MVHLPFRNGRAPHICS", MakePath(SRCDIR$, "MVHLPFRN\GRAPHICS"), MakePath(BASE$, "MVHLPFRN\GRAPHICS")
  956.     ELSEIF option% = PROGSAMPLEFILES THEN
  957.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPEPLIST", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\EPLIST"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\EPLIST")
  958.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPKATASRCH", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\KATASRCH"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\KATASRCH")
  959.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUP", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP")
  960.     ELSEIF option% = PROGSAMPLEFILESUSA THEN
  961.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPUSA", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\USA"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\USA")
  962.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPGENERICUSA", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\USA"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\USA")
  963.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPUSABLDCUI", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\USA\BLDCUI"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\USA\BLDCUI")
  964.     ELSEIF option% = PROGSAMPLEFILESFRN THEN
  965.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPFRN", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\FRN"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\FRN")
  966.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPGENERICFRN", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\FRN"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\FRN")
  967.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPFRNBLDCUI", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\FRN\BLDCUI"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\FRN\BLDCUI")
  968.     ELSEIF option% = PROGSAMPLEFILESGER THEN
  969.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPGER", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\GER"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\GER")
  970.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPGENERICGER", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\GER"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\GER")
  971.         AddSectionFilesToCopyList "MVSAMPLEPROGSAMPSETUPGERBLDCUI", MakePath(SRCDIR$, "MVSAMPLE\PROGSAMP\SETUP\GER\BLDCUI"), MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\GER\BLDCUI")
  972.     ELSEIF option% = WINSAMPLEFILES THEN
  973.         AddSectionFilesToCopyList "MVSAMPLEGALLERY", MakePath(SRCDIR$, "MVSAMPLE\GALLERY"), MakePath(BASE$, "MVSAMPLE\GALLERY")
  974.         AddSectionFilesToCopyList "MVSAMPLEGALLERYTEXT", MakePath(SRCDIR$, "MVSAMPLE\GALLERY\TEXT"), MakePath(BASE$, "MVSAMPLE\GALLERY\TEXT")
  975.         AddSectionFilesToCopyList "MVSAMPLEGALLERYGRAPHICS", MakePath(SRCDIR$, "MVSAMPLE\GALLERY\GRAPHICS"), MakePath(BASE$, "MVSAMPLE\GALLERY\GRAPHICS")
  976.         AddSectionFilesToCopyList "MVSAMPLEGALLERYSOUND", MakePath(SRCDIR$, "MVSAMPLE\GALLERY\SOUNDS"), MakePath(BASE$, "MVSAMPLE\GALLERY\SOUNDS")
  977.         AddSectionFilesToCopyList "MVSAMPLEGALLERYVIDEO", MakePath(SRCDIR$, "MVSAMPLE\GALLERY\VIDEO"), MakePath(BASE$, "MVSAMPLE\GALLERY\VIDEO")
  978.     ELSEIF option% = SONYSAMPLEFILES THEN
  979.         AddSectionFilesToCopyList "MVSAMPLEUSA", MakePath(SRCDIR$, "MVSAMPLE\USA"), MakePath(BASE$, "MVSAMPLE\USA")
  980.         AddSectionFilesToCopyList "MVSAMPLEUSATEXT", MakePath(SRCDIR$, "MVSAMPLE\USA\TEXT"), MakePath(BASE$, "MVSAMPLE\USA\TEXT")
  981.         AddSectionFilesToCopyList "MVSAMPLEUSASONYPICS", MakePath(SRCDIR$, "MVSAMPLE\USA\SONYPICS"), MakePath(BASE$, "MVSAMPLE\USA\SONYPICS")
  982.         AddSectionFilesToCopyList "MVSAMPLEUSAPCPICS", MakePath(SRCDIR$, "MVSAMPLE\USA\PCPICS"), MakePath(BASE$, "MVSAMPLE\USA\PCPICS")
  983.         AddSectionFilesToCopyList "MVSAMPLEUSASONYHELP", MakePath(SRCDIR$, "MVSAMPLE\USA\SONYHELP"), MakePath(BASE$, "MVSAMPLE\USA\SONYHELP")
  984.         AddSectionFilesToCopyList "MVSAMPLEUSASONYHELPHELPPICS", MakePath(SRCDIR$, "MVSAMPLE\USA\SONYHELP\HELPPICS"), MakePath(BASE$, "MVSAMPLE\USA\SONYHELP\HELPPICS")
  985.         AddSectionFilesToCopyList "MVSAMPLEUSAMEDIA", MakePath(SRCDIR$, "MVSAMPLE\USA\MEDIA"), MakePath(BASE$, "MVSAMPLE\USA\MEDIA")
  986.     ENDIF
  987.  
  988.     IF makedir% = 1 THEN
  989.         IF option% = LOCALRUNTIMEFILES THEN
  990.             CreateDir MakePath(BASE$, "MVSYSUSA"), cmoNone
  991.             CreateDir MakePath(BASE$, "MVSYSFRN"), cmoNone
  992.             CreateDir MakePath(BASE$, "MVSYSGER"), cmoNone
  993.         ELSEIF option% = AUTHORFILES THEN
  994.             CreateDir MakePath(BASE$, "MVTOOLS"), cmoNone
  995.             CreateDir MakePath(BASE$, "TUTORIAL"), cmoNone
  996.             CreateDir GRPHFLTDIR$, cmoNone
  997.         ELSEIF option% = SONYFILES THEN
  998.             CreateDir MakePath(BASE$, "MVSONY"), cmoNone
  999.         ELSEIF option% = USAHELPFILES THEN
  1000.             CreateDir MakePath(BASE$, "MVHLPUSA"), cmoNone
  1001.             CreateDir MakePath(BASE$, "MVHLPUSA\TEXT"), cmoNone
  1002.             CreateDir MakePath(BASE$, "MVHLPUSA\GRAPHICS"), cmoNone
  1003.         ELSEIF option% = GERHELPFILES THEN
  1004.             CreateDir MakePath(BASE$, "MVHLPGER"), cmoNone
  1005.             CreateDir MakePath(BASE$, "MVHLPGER\TEXT"), cmoNone
  1006.             CreateDir MakePath(BASE$, "MVHLPGER\GRAPHICS"), cmoNone
  1007.         ELSEIF option% = FRNHELPFILES THEN
  1008.             CreateDir MakePath(BASE$, "MVHLPFRN"), cmoNone
  1009.             CreateDir MakePath(BASE$, "MVHLPFRN\TEXT"), cmoNone
  1010.             CreateDir MakePath(BASE$, "MVHLPFRN\GRAPHICS"), cmoNone
  1011.         ELSEIF option% = PROGSAMPLEFILES THEN
  1012.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\EPLIST"), cmoNone
  1013.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\KATASRCH"), cmoNone
  1014.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP"), cmoNone
  1015.         ELSEIF option% = PROGSAMPLEFILESUSA THEN
  1016.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\USA"), cmoNone
  1017.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\USA\BLDCUI"), cmoNone
  1018.         ELSEIF option% = PROGSAMPLEFILESFRN THEN
  1019.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\FRN"), cmoNone
  1020.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\FRN\BLDCUI"), cmoNone
  1021.         ELSEIF option% = PROGSAMPLEFILESGER THEN
  1022.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\GER"), cmoNone
  1023.             CreateDir MakePath(BASE$, "MVSAMPLE\PROGSAMP\SETUP\GER\BLDCUI"), cmoNone
  1024.         ELSEIF option% = WINSAMPLEFILES THEN
  1025.             CreateDir MakePath(BASE$, "MVSAMPLE\GALLERY"), cmoNone
  1026.             CreateDir MakePath(BASE$, "MVSAMPLE\GALLERY\TEXT"), cmoNone
  1027.             CreateDir MakePath(BASE$, "MVSAMPLE\GALLERY\GRAPHICS"), cmoNone
  1028.             CreateDir MakePath(BASE$, "MVSAMPLE\GALLERY\SOUNDS"), cmoNone
  1029.             CreateDir MakePath(BASE$, "MVSAMPLE\GALLERY\VIDEO"), cmoNone
  1030.         ELSEIF option% = SONYSAMPLEFILES THEN
  1031.             CreateDir MakePath(BASE$, "MVSAMPLE\USA"), cmoNone
  1032.             CreateDir MakePath(BASE$, "MVSAMPLE\USA\TEXT"), cmoNone
  1033.             CreateDir MakePath(BASE$, "MVSAMPLE\USA\SONYPICS"), cmoNone
  1034.             CreateDir MakePath(BASE$, "MVSAMPLE\USA\PCPICS"), cmoNone
  1035.             CreateDir MakePath(BASE$, "MVSAMPLE\USA\SONYHELP"), cmoNone
  1036.             CreateDir MakePath(BASE$, "MVSAMPLE\USA\SONYHELP\HELPPICS"), cmoNone
  1037.             CreateDir MakePath(BASE$, "MVSAMPLE\USA\MEDIA"), cmoNone
  1038.         ENDIF
  1039.     ENDIF
  1040.  
  1041. END SUB
  1042.  
  1043.  
  1044.